
package com.gustozzi.distribucion.dao;

import java.sql.Date;
import java.util.List;

import com.gustozzi.distribucion.dao.util.DataAccessExceptions;
import com.gustozzi.domain.Cliente;
import com.gustozzi.domain.Cobranza;
import com.gustozzi.domain.OrdenCobranza;
import com.gustozzi.domain.Pago;
import com.gustozzi.domain.SolicitudCobranza;

public interface CobranzaDAO
{
    public List<SolicitudCobranza> obtenerListaSolicitudesCobranza(int codigo, int zona, Date fechaDesde,
            Date fechaHasta) throws DataAccessExceptions;

    public List<Cobranza> obtenerListaCobranza(String ruc, String dni, String razonSocial, int centroDistribucion,
            int cobrador, Date fechaDesde, Date fechaHasta) throws DataAccessExceptions;

    public List<OrdenCobranza> obtenerListaOrdenesCobranza(int codigo, String numeroDocumento, Date fechaDesde,
            Date fechaHasta) throws DataAccessExceptions;

    public List<Pago> obtenerListaPagos(int codigo, String numeroDocumento, Date fechaDesde, Date fechaHasta)
            throws DataAccessExceptions;

    public String eliminarSolicitudCobranza(int codigo) throws DataAccessExceptions;

    public String guardarSolicitudCobranza(int codigoSolicitud, int codigoCobrador, int codigoEstado,
            int[] listaClientes, Date fechaSolicitud, boolean indicadorRegistro) throws DataAccessExceptions;

    public List<Cliente> obtenerListaClientesXSolicitud(int codigoSolicitud) throws DataAccessExceptions;
}